// pages/details/details.js
const {
    getMiproduct
} = require("../../api/details");
let {
    getbyId,
    getcart,
    getcartList
} = require("../../api/details");


// const {getMiproduct} = require("../../api/details_json");
Page({

    /**
     * 页面的初始数据
     */
    data: {
        swiperHeight: 200,
        current: 0,
        tabs: 1, //切换功能
        num: 0, //购物车数量
        // goodsDetails: null,
        goodsDetails: [],
        imgs: [
            // 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/abdb63b033c128fb5b8b624865048a9b.jpg',
            // 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/be84fe61fa1a7b4a7cd625c15270e8fb.jpg',
            // 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/abdb63b033c128fb5b8b624865048a9b.jpg',
        ],
        current: 1, //轮播图位置
        goods: {
            id: 5,
            goodsImage: "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/abdb63b033c128fb5b8b624865048a9b.jpg",
            goodsName: "龚文涛",
            goodsPrice: "2999",
            goodsPriceOld: "3999",
        }
    },


    // 立即购买
    setCarpay(e) {
        console.log("点击购买", e);
        // // 购物车数据结构
        // let id = this.data.goods.id;

        // // 数据传输
        // let carId = {id: id};
        // console.log(carId);
        let {
            id,
            goodsImage,
            goodsName,
            goodsPrice,
            goodsPriceOld
        } = this.data.goods;

        let carLists1 = {
            id: id,
            name: goodsName,
            img: goodsImage.map(obj => JSON.stringify(obj)).toString(),
            price: goodsPrice,
            priceOld: goodsPriceOld,
            num: 1,
            checked: true
        };
        wx.setStorageSync('goodsDetails', carLists1)
        // console.log("立即购买的数据", wx.getStorageSync('goodsDetails'));
        wx.navigateTo({
            url: '/pages/pay/pay?id='+carLists1.id,
            // url: '/pages/pay/pay',
        })
    },

    // 加入购物车
    setCarNum() {
        // 购物车数据结构
        let {
            id,
            goodsImage,
            goodsName,
            goodsPrice,
            goodsPriceOld
        } = this.data.goods;

        // 数据传输
        let carLists1 = {
            id: id,
            name: goodsName,
            img: goodsImage.map(obj => JSON.stringify(obj)).toString(),
            price: goodsPrice,
            priceOld: goodsPriceOld,
            num: 1,
            checked: true
        };


        console.log("添加到购物车数据", carLists1);

        // 11月2号在这里添加一个判断是否数据存在
        // 将数据传输给数据库






        getcartList().then(data => {
            console.log("数据库添加购物车列表", data.data);
            console.log("data.data.length", data.data.length);
            let goodsCarList = data.data
            if (goodsCarList) {
                // 1.有数据判断数据存在 0存在 -1不存在
                let index = goodsCarList.findIndex(item => item.id == this.data.goods.id);
                console.log("是否存在index", index);
                // 没有相同商品，添加数据
                if (index == -1) {
                    // goodsCarList.push(carLists1);
                    this.Addcart(carLists1)
                } else {
                    // 有相同商品，数量加一
                    // goodsCarList[index].num += 1;
                }
                // wx.setStorageSync('goodsCarList', goodsCarList)

            } else {
                // 2.没有数据，添加数据
                // wx.setStorageSync('goodsCarList', [carLists])
                // console.log("没有数据，添加数据",[carLists]);
                this.Addcart(carLists1)
            }
            this.onLoad();
            this.onShow();


        })
        // 1.判断数据缓存种是否存在
        // let goodsCarList = wx.getStorageSync('goodsCarList');
        // if (goodsCarList) {
        //     // 1.有数据判断数据存在 0存在 -1不存在
        //     let index = goodsCarList.findIndex(item => item.id == this.data.goods.id);
        //     console.log("是否存在index", index);
        //     // 没有相同商品，添加数据
        //     if (index == -1) {
        //         goodsCarList.push(carLists);
        //     } else {
        //         // 有相同商品，数量加一
        //         // goodsCarList[index].num += 1;
        //     }
        //     wx.setStorageSync('goodsCarList', goodsCarList)

        // } else {
        //     // 2.没有数据，添加数据
        //     wx.setStorageSync('goodsCarList', [carLists])
        //     // console.log("没有数据，添加数据",[carLists]);

        // }
        // console.log("存储数据", wx.getStorageSync('goodsCarList'));




    },

    // 添加数据方法
    Addcart(list) {
        getcart(list).then(data => {
            console.log("将数据传输给数据库", data);

        })
        getcartList().then(data => {
            this.setData({
                num: data.data.length
            })
        })

    },



    // 切换功能
    isTabShow(e) {
        let index = e.target.dataset.index;
        this.setData({
            tabs: index
        })
    },

    // 轮播图下标 修改
    bindchangeFun(e) {
        this.setData({
            current: e.detail.current + 1
        })
    },
    // 获取图片高度
    bindloadImg(e) {
        let {
            height,
            width
        } = e.detail;
        // 获取硬件系统信息
        wx.getSystemInfo({
            success: (res) => {
                this.setData({
                    swiperHeight: res.windowWidth / width * height
                })
            }
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        // getMiproduct(options.id).then(data=>{}) //用法
        // getMiproduct({
        //     "commodity_id": options.id
        // }).then(data => {
        //     //   console.log(data);
        //     // let data = getMiproduct;
        //     let goods_info = data.data.goods_info[0];
        //     let goods_tpl_datas = data.data.goods_tpl_datas[goods_info.page_id].sections;
        //     let product_info_tab_index = goods_tpl_datas.findIndex(item => item.view_type == "product_info_tab");//商品详情的数量
        //     console.log("product_info_tab_index",product_info_tab_index);//商品id
        //     console.log("goods_tpl_datas",goods_tpl_datas);//
        //     console.log("goods_info",goods_info);//
        //     console.log("=======>", goods_tpl_datas[product_info_tab_index].body.items);

        //     // 测试
        //     let produceImage = []
        //     let list_ = {
        //         imgs: data.data.goods_share_datas.gallery_view.slice(0, 4),
        //         "product_info": data.data.product_info,
        //         "goodsDetails": goods_tpl_datas[product_info_tab_index].body.items,
        //         "goods.id": goods_info.product_id,
        //         "goods.goodsImage": goods_info.img_url,
        //         "goods.goodsName": goods_info.name,
        //         "goods.goodsPrice": goods_info.price,
        //         "goods.goodsPriceOld": goods_info.market_price,
        //     }
        //     this.setData({
        //         imgs: data.data.goods_share_datas.gallery_view.slice(0, 4),//轮播图(正常数组对象结构)
        //         "product_info": data.data.product_info,//商品名称和介绍，数据 <font color='#ff4a00'>「直播间购机赠小米小背包 黑色 10L，活动时间：10月22日16:00—10月31日」</font>十面坚固，双倍抗摔
        //         // 而三点介绍数据结构是数组字符串 ["【金刚品质】十面坚固，双倍抗摔，Redmi 金刚架构", "【 IP68 防尘防水】通过 TÜV 南德 2 米 24 小时防水测试", "【超大电量】5500mAh 固态电解质电池，四年耐用"]
        //         // 可以搞成product_info字段{product_desc:"",sell_point_desc:["","",""]}
        //         "goodsDetails": goods_tpl_datas[product_info_tab_index].body.items,//商品详情图片和规格参数图片（看下面我的解析）
        //         "goods.id": goods_info.product_id,//商品id
        //         "goods.goodsImage": goods_info.img_url,//商品封面或者是图片
        //         "goods.goodsName": goods_info.name,//商品名称
        //         "goods.goodsPrice": goods_info.price,//商品价格
        //         "goods.goodsPriceOld": goods_info.market_price,//折扣前价格
        //     })

        //     console.log("商品页面数据结构",list_);

        //     produceImage.push(list_.goodsDetails[0].page_info.map(item=> item.body).map(items => items.img_url_webp))//拿取深层数据
        //     produceImage.push(list_.goodsDetails[1].page_info.map(item=> item.body).map(items => items.img_url_webp))
        //     produceImage.push(list_.goodsDetails[1].page_info.map(item=> item.body))//自己数据库需要到这一层，后面那部分到前端这里遍历
        //     console.log("商品详情页",produceImage);
        // })

        // 自己的数据测试
        getbyId(options.id).then(data => {
            console.log("自己的数据测试1", data);
            let listData = data.data
            let goodsDetails1 = []
            //商品详情 + //规格参数
            goodsDetails1.push(JSON.parse('[' + listData.petaliImage + ']')) + goodsDetails1.push(JSON.parse('[' + listData.parameter + ']'))
            let list_ = {
                imgs: JSON.parse('[' + listData.produceImage + ']'),
                "product_info": JSON.parse(listData.introduce),
                "goodsDetails": goodsDetails1, //商品详情
                "goods.id": listData.id, //商品id
                "goods.goodsImage": JSON.parse('[' + listData.cover + ']'), //商品封面或者是图片
                "goods.goodsName": listData.name, //商品名称
                "goods.goodsPrice": listData.price, //商品价格
                "goods.goodsPriceOld": (listData.price + new Number(listData.discount)), //折扣前价格
            }

            // goodsDetails.push(JSON.parse('[' + listData.petaliImage+ ']')) + goodsDetails.push(JSON.parse('[' + listData.parameter+ ']'))
            // goodsDetails.push(JSON.parse('[' + listData.parameter+ ']'))
            console.log("自己的数据测试2", list_);
            // console.log("goodsDetails数据",goodsDetails);


            this.setData({
                imgs: JSON.parse('[' + listData.produceImage + ']'),
                "product_info": JSON.parse(listData.introduce),
                "goodsDetails": goodsDetails1, //商品详情
                "goods.id": listData.id, //商品id
                "goods.goodsImage": JSON.parse('[' + listData.cover + ']'), //商品封面或者是图片
                "goods.goodsName": listData.name, //商品名称
                "goods.goodsPrice": listData.price, //商品价格
                "goods.goodsPriceOld": (listData.price + new Number(listData.discount)), //折扣前价格
            })
            console.log("goods数据", this.data.goods);

        }) //用法


    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

        console.log("onReady");
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

        console.log("onShow");
        // 获取数据
        getcartList().then(data => {
            this.setData({
                num: data.data.length
            })
        })


    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {
        console.log("onHide");

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})


// 数据缓存
// wx.setStorageSync 修改/添加
// wx.removeStorageSync 删除
// wx.getStorageSync 获取
// wx.getStorageInfoSync 获取缓存信息
// wx.clearStorageSync 清除所有数据

// wx.setStorageSync('name', '张三')
// wx.setStorageSync('info', {
//   name:"张三",
//   age:66
// })
// console.log(wx.getStorageSync('info'));
// wx.removeStorageSync("name");
// wx.clearStorageSync();
// console.log(wx.getStorageInfoSync());